﻿using System;
using System.Collections.Generic;
using System.Drawing;
using Oscilloscope.ChannelBuffer;
using Oscilloscope.Screen;

namespace Oscilloscope.Channel
{
	// Token: 0x0200000D RID: 13
	internal interface IChannel
	{
		// Token: 0x06000052 RID: 82
		IOscilloscopeScreen GetOscilloscopeScreen();

		// Token: 0x06000053 RID: 83
		int GetChannelSN();

		// Token: 0x06000054 RID: 84
		void DrawCurve(Graphics g);

		// Token: 0x06000055 RID: 85
		void DrawVPosArrow(Graphics g, int canvasWidth, int canvasHeight, Font font);

		// Token: 0x06000056 RID: 86
		void SetTimeSpan(double startTime, double endTime);

		// Token: 0x06000057 RID: 87
		void GetTimeSpan(out double startTime, out double endTime);

		// Token: 0x06000058 RID: 88
		void SetTimePerCellGrade(int timePerCellGrade);

		// Token: 0x06000059 RID: 89
		int GetTimePerCellGrade();

		// Token: 0x0600005A RID: 90
		void SetCanvasSize(int width, int height);

		// Token: 0x0600005B RID: 91
		Rectangle GetCanvasSize();

		// Token: 0x0600005C RID: 92
		void SetValuePerCellGrade(int valuePerCellGrade);

		// Token: 0x0600005D RID: 93
		int GetValuePerCellGrade();

		// Token: 0x0600005E RID: 94
		void SetBaseLineValue(double value);

		// Token: 0x0600005F RID: 95
		double GetBaseLineValue();

		// Token: 0x06000060 RID: 96
		float GetBaseLinePos();

		// Token: 0x06000061 RID: 97
		void MoveWaveUp(int movingTimes);

		// Token: 0x06000062 RID: 98
		void MoveWaveDown(int movingTimes);

		// Token: 0x06000063 RID: 99
		IChannelBuffer GetChannelBuffer();

		// Token: 0x06000064 RID: 100
		void SetColor(Color color);

		// Token: 0x06000065 RID: 101
		Color GetColor();

		// Token: 0x06000066 RID: 102
		void SetLineWidth(float lineWidth);

		// Token: 0x06000067 RID: 103
		void PrepareDataOfCurve();

        // Token: 0x06000067 RID: 103
        void PrepareCobvertDataOfCurve(string datatype,double Scale);

        // Token: 0x06000068 RID: 104
        void PreparePointOfCurve();
        List<double> PreparePointOfGetDatas();

		// Token: 0x06000069 RID: 105
		void SetBitMask(ushort bitMask);

		// Token: 0x0600006A RID: 106
		ushort GetBitMask();

		// Token: 0x0600006B RID: 107
		bool GetDataFromChannelBuffer(double mouseMoment, Point mousePoint, ref double data, ref bool isInterpolation);

		// Token: 0x0600006C RID: 108
		void RefreshChannelBuffer();
	}
}
